第 八 章  
图 像 模 板 匹 配  
汇报人:陈西PPT工作室  
目录  
于灰度值的模板匹配  
于特征的模板匹配  
像金字塔  
Matching助手  
基于灰度值的模板匹配  
基于灰度值的模板匹配  
图像的灰度值信息包含了图像记录的所有信息。基于灰度值的匹  
配算法是最经典的模板匹配算法,也是最早提出来的模板匹配算法。  
归一化积相关灰度匹配  
1.基本原理ꢀꢀ  
以8位灰度图像为例,模板叠 T (m ,n)放在被搜索图 S(w,h)上平移,模板覆盖被搜索图的那块  
i, j  
S
区域叫子图 ,i、j为子图左下角在被搜索图S上的坐标,搜索范围是:  
i W n  
1
i, j  
可以用下式衡T  S 的相似性:  
1
 j  H  m  
M
N
i, j  
2
D(i, j)   
[S (m,n) T(m,n)]  
m1 n1  
将其归一化,得模板匹配的相关系数:  
M
M
i, j  
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ  
S
m,n  
T m,n  
   
m1 n1  
R i, j   
   
M
M
M
M
2
i, j  
2
S
m,n  
T
  
m1 n1  
m,n  
m1 n1  
归一化积相关灰度匹配  
ꢀꢀ  
i, j  
比较T  S 的内容,若两者一致,则T S 之差为零,所以可以用下列两种测度之一来衡量  
i, j  
T和 的相似程度:  
S
M
M
M
M
2
i, j  
i, j  
D
i, j  
S
m,n  
T m,n  
   
D
i, j  
S
m,n  
T  
m,n  
m1 n1  
m1 n1  
如果展开式(8-3),则有:  
M
M
M
M
2
i, j  
i, j  
m,n  
D
i, j  
S
m,n  
 2 S  
  
m1 n1  
T m,n  
    
m1 n1  
M
M
2
T m,n  
   
   
m1 n1  
式子右边第三项表示模板的总能量,是一个常数,与 无关;第一项是模板覆盖下那块图  
i, j  
   
i, j i, j  
     
像子图的能量,它随 位置而缓慢改变;第二项是子图像和模板的互相关, 随 的改变而改变。  
归一化积相关灰度匹配  
i, j  
T S 匹配时这一项的取值最大,因此可用下列相关函数作相似性测度:  
M
M
i, j  
S m,n T m,n  
     
m1 n1  
R
i, j  
M
M
2
i, j  
S m,n  
   
m1 n1  
将其归一化为:  
M
M
i, j  
S
m,n  
T m,n  
   
m1 n1  
R i, j   
   
M
M
M
M
2
i, j  
2
S
m,n  
T
  
m1 n1  
m,n  
m1 n1  
归一化积相关灰度匹配  
序贯相似性检测算法匹配  
1.基本原理ꢀꢀ  
SSDA根据所采用的匹配相关运算的算法来制定阈值T的计算方法,在进行每一个搜索  
窗口的匹配相关运算时,合理地计算间隔,检测当前所得的相关结果和SSDA阈值T的比  
较关系。  
f t d d  
f (x, y)  
的点 (u,v) 的非相似度 m(u,v) 可  
SSDA是  
表示为:  
作为匹配尺度的。图像中  
y
x
n
m
m
u,v  
f
k u 1,l v 1  
t  
k,l  
k1 i1  
其中,点表示的不是模板的中央,而是左上角位置。ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ  
序贯相似性检测算法匹配  
Tk  
i, j  
m,n  
   
S
Tk  
I(i, j)  
序贯相似性检测算法匹配  
2
(i, j)  
M
序贯相似性检测算法匹配  
Halcon中的灰度匹配相关算子  
基于像素灰度值的模板匹配  
程序如下:  
*
*
*
*
*
*
更新窗口ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀdev_update_off ()  
获取图像ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀread_image (Image, 'smd/smd_on_chip_05')  
获取图像大小ꢀꢀꢀꢀꢀꢀꢀꢀget_image_size (Image, Width, Height)  
关闭窗口ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀdev_close_window ()  
打开适应图像大小窗口ꢀꢀꢀꢀdev_open_window (0, 0, Width, Height, 'black', WindowHandle)  
设置输出颜色、填充方式ꢀꢀꢀdev_set_color ('green')  
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ dev_set_draw ('margin')  
*
*
*
*
获得矩形ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀrectangle1 gen_rectangle1 (Rectangle, 175, 156, 440, 460)  
得到区域面积和中心坐标ꢀꢀꢀarea_center (Rectangle, Area, RowRef, ColumnRef)  
缩小图像的域ꢀꢀꢀꢀꢀꢀꢀꢀreduce_domain (Image, Rectangle, ImageReduced)  
创建ncc模板ꢀꢀꢀꢀꢀꢀꢀ ꢀcreate_ncc_model (ImageReduced, 'auto', 0, 0, 'auto', 'use_polarity', ModelID)  
基于像素灰度值的模板匹配  
*
*
显示图像  
显示矩形  
dev_display (Image)  
dev_display (Rectangle)  
stop ()  
*
*
*
*
*
建立for循环  
for J := 1 to 11 by 1  
循环读取图像  
read_image (Image, 'smd/smd_on_chip_' + J$'02')  
在目标图像中寻找模板find_ncc_model (Image, ModelID, 0, 0, 0.5, 1, 0.5, 'true', 0, Row, Column, Angle, Score)  
显示图像  
dev_display (Image)  
显示匹配结果  
dev_display_ncc_matching_results (ModelID, 'green', Row, Column, Angle, 0)  
stop ()  
Endfor  
基于像素灰度值的模板匹配  
(b)模板  
(a)原图  
c)目标图像  
(d)匹配结果  
基于特征的模板匹配  
基于特征的模板匹配  
利用灰度信息匹配方法的主要缺陷是计算量过大,在具体应用中对  
匹配速度有一定要求时,这些方法就受到很大局限。  
不变矩匹配ꢀ  
1.基本原理ꢀꢀ  
特征匹配是指建立两幅图像中特征点之间对应关系的过程。用数学语言  
可以描述为: 两幅图像A和B中分别有m和n个特征点(m和n通常不相等),  
其中有k对点是两幅图像共同拥有的,则如何确定两幅图像中k对相对应的  
点对即为特征匹配要解决的问题。ꢀ  
ꢀꢀꢀ  
距离变换匹配法ꢀ  
1.基本原理ꢀꢀ  
'
o
设二值图像I包含两种元素:物体O和背景 ,二距离为D,则距离变换定义为  
 min dist p,q ,qO  
计算子图中的边缘点到模板图中最近的边缘点的距离采用欧式距离,并对欧式距离进行近似,认为与边缘  
邻域相邻的点的距离为0.3,8邻域相邻的点的距离为0.7,不相邻的点的距离都为l。  
8-23)  
D
p
4
氏距离变换定义为  
2 2  
 x1  x2  y1  y2  
x1, y1 x2 , y2       
8-24)  
8-25)  
D
2
2
在二维空间 中,S为某一集合,对 中任一点r,定义其距离变换为  
R
R
Ts  
r
 min dis r, s s S  
 
  
  
ꢀꢀꢀ  
距离变换匹配法ꢀ  
最小均方误差匹配法  
1.基本原理ꢀꢀ  
'
'
间的仿射变换,变换方程为:  
X,Y  
X ,Y  
对于图像  
'
x   cos sin  x tx x y 1 0  
s        
 scos ssin tx ty  
   
       
T
'
y
sin cos y ty  
y  x0 1  
   
       
根据给定的n对相应特征点,构造点坐标矩阵为:  
x1  
y1 1 0  
y  x 0 1  
T
1
1
'
1
'
1
'
n
'
n
   
Y   
x y  x y  
X     
xn  
yn 1 0  
y  x 0 1  
n
n
最小均方误差匹配法  
1.基本原理ꢀꢀ  
T
2
由最小均方误差原理求解  
, ,可以得到参数向量的求解方程为  
E   
Y  X
 
Y  X  
1  
T T  
A  X X X Y  
   
2
解出后,便可以计算得出 。 ꢀꢀꢀ  
E
最小均方误差匹配法  
2.实现步骤ꢀꢀ  
像的最小均方误差匹配算法实现的步骤描述如下:  
1)获得待匹配图像、模板图像数据的地址、存储的高度和宽度;  
2)建立一个目标图像指针,并分配内存,以保留图像匹配后的图像,将待匹配图像复制到目标图像中;  
3)逐个扫描原图像中的像素点所对应的模板子图,根据式(8-30)构造点坐标矩阵, 然后根据式(8-31)求  
仿射变换向量,解出最小均方误差值;  
4)循环步骤(3),直到处理完原图像的全部像素点,最小均方误差值最小的像素点为最佳匹配点;  
5)将目标图像所有像素值减半以便和原图区别,把模板图像复制到目标图像中步骤(4)记录的像素  
位置。  
Halcon中的特征匹配相关算子  
图 像 金 字 塔  
图像金字塔  
图像金字塔是图像多尺度表达的一种,是一种以多分辨率来解释  
图像的有效但概念简单的结构。广泛应用于图像分割、机器视觉和图  
像压缩。一幅图像的金字塔是一系列以金字塔形状排列的分辨率逐步  
降低、且来源于同一张原始图的图像集合。  
图像金字塔的分类  
高斯金字塔ꢀ  
Gi1  
Gi  
拉普拉斯金字ꢀ  
Halcon中的图像金字塔相关算子ꢀ  
图像金字塔应用实ꢀ  
程序如下:  
*
*
*
*
*
*
*
*
*
*
*
*
*
*
缩小图像的域  
*
*
*
*
*
*
*
*
*
*
*
*
*
更新窗口  
创建图像金字塔,根据金字塔层数和对比度检查要生成的模板是否合适  
返回平行坐标最小外包矩形  
step 3: 处理模型区域  
打开和配置图像采集设备  
从指定的图像采集设备获取图像的同步抓取  
得到图像访问路径的指针  
关闭窗口  
step 4: 创建最终模型  
使用用图像创建带有缩放的匹配模板  
循环step 3,在其他图像中查找对象  
建立循环读图  
打开适用图像大小的窗口  
设置图形窗口中显示的图像大小  
显示图像  
获取图像  
设置显示的字体  
根据模板进行匹配  
颜色和其他可视化设置  
在荧幕上显示暂停程序继续操作的信息  
step 1:选择要匹配的图像  
step 2: 创建第一个模型区域  
求取模板与匹配结果的映射关系  
根据映射关系得到匹配后的轮廓  
清楚窗口  
关闭设备  
图像金字塔应用实ꢀ  
(a)原图  
(b)矩形模板  
c)目标图像1  
(f)匹配结果2  
(d)匹配结果1  
e)目标图像2  
Matching 助手  
Halcon匹配助手的匹配方式  
使用Halcon匹配助手的过程  
使用Halcon匹配助手的过程  
本章小结  
本章详细介绍了两种图像匹配方法的算法原理及基于Halcon的相应  
例程,并且介绍了图像金字塔的作用及常用类型,之后详细介绍了  
Halcon软件中匹配助手的使用方法,方便读者学习和使用Halcon。  
习ꢀ题  
8.1图像匹配的目的是什么?常用的方法有哪些?  
8.2在纸上写一些字母,然后对其拍照,试着编写Halcon程序将其中的字母  
识别岀来。  
.3编写Halcon程序找出图1中所有的数字3和5。  
8
图1